Predicting content consumption

ABSTRACT

Methods and systems for predicting content consumption are provided herein. An application log of a user, comprising a user&#39;s application data, and a viewing log of the user, comprising the user&#39;s viewing data (e.g., television programs watched by the user), may be evaluated over a time period to construct a model. The model may comprise a correlation between the viewing log and the application log during the time period (e.g., what applications the user interacts with while watching a program). Second application data, regarding application usage of a second user, may be extracted. The model may be applied to the second application data to identify an expected viewing action of the second user (e.g., what program the second user is likely to watch during the time period based upon applications used by the second user). The second user may be provided with content related to the expected viewing action.

BACKGROUND

Users may view one or more programs (e.g., television shows, movies,sporting events, etc.) while utilizing one or more applications (e.g.,social media applications, sports news applications, news applications,etc.). Content providers of programs and/or applications may desire topresent users with relevant content, such as content related to theprograms and/or applications that the user views and/or with which theuser interacts. However, if a content provider provides merelyapplications, then the content provider may lack a mechanism todetermine what programs a user is viewing. Conversely, if the contentprovider provides merely programs, then the content provider may lack amechanism to determine what applications the user is utilizing.

SUMMARY

In accordance with the present disclosure, one or more systems and/ormethods for predicting content consumption are provided. In an example,viewing data regarding viewing actions of a user on a viewing device maybe extracted. In an example, application data regarding applicationusage of the user on a client device may be extracted. The user may beidentified based upon the viewing device and/or the client device havingshared or similar login credentials, account information, IP addresses,communication connections, etc. A viewing log, for the user, may begenerated based upon the viewing data (e.g., what programs, televisionsshows, movies, and/or other content the user has viewed). An applicationlog, for the user, may be generated based upon the application data(e.g., applications, such as mobile apps, with which the user hasinteracted with while viewing content).

The viewing log and the application log may be evaluated over a timeperiod (e.g., 30 minutes) to construct a model comprising a correlationbetween the viewing log and the application log during the time period.External data about programs, such as a program and a second programavailable on the viewing device during the time period, may be appliedto the model. For example, responsive to the external data indicating agreater number of users are viewing the program as compared to thesecond program, the model may be constructed to assign a higherlikelihood score to the program relative to the second program (e.g.,where a higher likelihood score indicates that the program is morelikely to be viewed by a second user).

The viewing log may comprise an application that the user utilizesduring an event (e.g., an advertisement, a song, a catchphrase, aperformance, and/or an appearance of an actor or actress during theprogram) during the program. For example, during a championship game,many users may access a social networking application during a half timeshow, and thus the second user may be provided with a recommendation toaccess the social networking application (e.g., a recommendation of aparticular social network post shared and/or viewed by users that arewatching the championship game and/or the half time show).

Second application data regarding application usage of the second usermay be extracted. The model may be applied to the second applicationdata to identify an expected viewing action of the second user (e.g.,what program the second user is likely watching during the time period).The second user may be provided with content related to the expectedviewing action. The second user may be provided with an applicationrecommendation based upon the expected viewing action (e.g., if thesecond user is watching a similar show as what the user was watching, asindicated by the viewing log and the model, then an application,accessed by the user while watching the show, may be suggested to thesecond user). A time may be identified during the program when aprobability indicates the second user is not viewing the program (e.g.,such as when the second user is utilizing applications). Responsive tothe expected viewing action comprising an identification of the programas a suggestion for the second user, information about the program maybe added to a user interest profile of the second user.

DESCRIPTION OF THE DRAWINGS

While the techniques presented herein may be embodied in alternativeforms, the particular embodiments illustrated in the drawings are only afew examples that are supplemental of the description provided herein.These embodiments are not to be interpreted in a limiting manner, suchas limiting the claims appended hereto.

FIG. 1 is an illustration of a scenario involving various examples ofnetworks that may connect servers and clients.

FIG. 2 is an illustration of a scenario involving an exampleconfiguration of a server that may utilize and/or implement at least aportion of the techniques presented herein.

FIG. 3 is an illustration of a scenario involving an exampleconfiguration of a client that may utilize and/or implement at least aportion of the techniques presented herein.

FIG. 4A is a component block diagram illustrating an example system forpredicting content consumption, where a model is generated.

FIG. 4B is a component block diagram illustrating an example system forpredicting content consumption, where a model is applied to a secondapplication log.

FIG. 4C is a component block diagram illustrating an example system forpredicting content consumption, where a model is applied to a secondviewing log.

FIG. 5A is a component block diagram illustrating an example system forpredicting content consumption, where model data of a user isillustrated.

FIG. 5B is a component block diagram illustrating an example system forpredicting content consumption, where model data of a user and a seconduser are illustrated.

FIG. 6 is a component block diagram illustrating an example system forpredicting content consumption, where a user is watching a championshipgame and utilizing social media.

FIG. 7 is a flow chart illustrating an example method of predictingcontent consumption.

FIG. 8 is an illustration of a scenario featuring an examplenontransitory memory device in accordance with one or more of theprovisions set forth herein.

DETAILED DESCRIPTION

Subject matter will now be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, specific example embodiments. Thisdescription is not intended as an extensive or detailed discussion ofknown concepts. Details that are known generally to those of ordinaryskill in the relevant art may have been omitted, or may be handled insummary fashion.

The following subject matter may be embodied in a variety of differentforms, such as methods, devices, components, and/or systems.Accordingly, this subject matter is not intended to be construed aslimited to any example embodiments set forth herein. Rather, exampleembodiments are provided merely to be illustrative. Such embodimentsmay, for example, take the form of hardware, software, firmware or anycombination thereof.

1. Computing Scenario

The following provides a discussion of some types of computing scenariosin which the disclosed subject matter may be utilized and/orimplemented.

1.1. Networking

FIG. 1 is an interaction diagram of a scenario 100 illustrating aservice 102 provided by a set of servers 104 to a set of client devices110 via various types of networks. The servers 104 and/or client devices110 may be capable of transmitting, receiving, processing, and/orstoring many types of signals, such as in memory as physical memorystates.

The servers 104 of the service 102 may be internally connected via alocal area network 106 (LAN), such as a wired network where networkadapters on the respective servers 104 are interconnected via cables(e.g., coaxial and/or fiber optic cabling), and may be connected invarious topologies (e.g., buses, token rings, meshes, and/or trees). Theservers 104 may be interconnected directly, or through one or more othernetworking devices, such as routers, switches, and/or repeaters. Theservers 104 may utilize a variety of physical networking protocols(e.g., Ethernet and/or Fibre Channel) and/or logical networkingprotocols (e.g., variants of an Internet Protocol (IP), a TransmissionControl Protocol (TCP), and/or a User Datagram Protocol (UDP). The localarea network 106 may include, e.g., analog telephone lines, such as atwisted wire pair, a coaxial cable, full or fractional digital linesincluding T1, T2, T3, or T4 type lines, Integrated Services DigitalNetworks (ISDNs), Digital Subscriber Lines (DSLs), wireless linksincluding satellite links, or other communication links or channels,such as may be known to those skilled in the art. The local area network106 may be organized according to one or more network architectures,such as server/client, peer-to-peer, and/or mesh architectures, and/or avariety of roles, such as administrative servers, authenticationservers, security monitor servers, data stores for objects such as filesand databases, business logic servers, time synchronization servers,and/or front-end servers providing a user-facing interface for theservice 102.

Likewise, the local area network 106 may comprise one or moresub-networks, such as may employ differing architectures, may becompliant or compatible with differing protocols and/or may interoperatewithin the local area network 106. Additionally, a variety of local areanetworks 106 may be interconnected; e.g., a router may provide a linkbetween otherwise separate and independent local area networks 106.

In the scenario 100 of FIG. 1, the local area network 106 of the service102 is connected to a wide area network 108 (WAN) that allows theservice 102 to exchange data with other services 102 and/or clientdevices 110. The wide area network 108 may encompass variouscombinations of devices with varying levels of distribution andexposure, such as a public wide-area network (e.g., the Internet) and/ora private network (e.g., a virtual private network (VPN) of adistributed enterprise).

In the scenario 100 of FIG. 1, the service 102 may be accessed via thewide area network 108 by a user 112 of one or more client devices 110,such as a portable media player (e.g., an electronic text reader, anaudio device, or a portable gaming, exercise, or navigation device); aportable communication device (e.g., a camera, a phone, a wearable or atext chatting device); a workstation; and/or a laptop form factorcomputer. The respective client devices 110 may communicate with theservice 102 via various connections to the wide area network 108. As afirst such example, one or more client devices 110 may comprise acellular communicator and may communicate with the service 102 byconnecting to the wide area network 108 via a wireless local areanetwork 106 provided by a cellular provider. As a second such example,one or more client devices 110 may communicate with the service 102 byconnecting to the wide area network 108 via a wireless local areanetwork 106 provided by a location such as the user's home or workplace(e.g., a WiFi network or a Bluetooth personal area network). In thismanner, the servers 104 and the client devices 110 may communicate overvarious types of networks. Other types of networks that may be accessedby the servers 104 and/or client devices 110 include mass storage, suchas network attached storage (NAS), a storage area network (SAN), orother forms of computer or machine readable media.

1.2. Server Configuration

FIG. 2 presents a schematic architecture diagram 200 of a server 104that may utilize at least a portion of the techniques provided herein.Such a server 104 may vary widely in configuration or capabilities,alone or in conjunction with other servers, in order to provide aservice such as the service 102.

The server 104 may comprise one or more processors 210 that processinstructions. The one or more processors 210 may optionally include aplurality of cores; one or more coprocessors, such as a mathematicscoprocessor or an integrated graphical processing unit (GPU); and/or oneor more layers of local cache memory. The server 104 may comprise memory202 storing various forms of applications, such as an operating system204; one or more server applications 206, such as a hypertext transportprotocol (HTTP) server, a file transfer protocol (FTP) server, or asimple mail transport protocol (SMTP) server; and/or various forms ofdata, such as a database 208 or a file system. The server 104 maycomprise a variety of peripheral components, such as a wired and/orwireless network adapter 214 connectible to a local area network and/orwide area network; one or more storage components 216, such as a harddisk drive, a solid-state storage device (SSD), a flash memory device,and/or a magnetic and/or optical disk reader.

The server 104 may comprise a mainboard featuring one or morecommunication buses 212 that interconnect the processor 210, the memory202, and various peripherals, using a variety of bus technologies, suchas a variant of a serial or parallel AT Attachment (ATA) bus protocol; aUniform Serial Bus (USB) protocol; and/or Small Computer SystemInterface (SCI) bus protocol. In a multibus scenario, a communicationbus 212 may interconnect the server 104 with at least one other server.Other components that may optionally be included with the server 104(though not shown in the schematic diagram 200 of FIG. 2) include adisplay; a display adapter, such as a graphical processing unit (GPU);input peripherals, such as a keyboard and/or mouse; and a flash memorydevice that may store a basic input/output system (BIOS) routine thatfacilitates booting the server 104 to a state of readiness.

The server 104 may operate in various physical enclosures, such as adesktop or tower, and/or may be integrated with a display as an“all-in-one” device. The server 104 may be mounted horizontally and/orin a cabinet or rack, and/or may simply comprise an interconnected setof components. The server 104 may comprise a dedicated and/or sharedpower supply 218 that supplies and/or regulates power for the othercomponents. The server 104 may provide power to and/or receive powerfrom another server and/or other devices. The server 104 may comprise ashared and/or dedicated climate control unit 220 that regulates climateproperties, such as temperature, humidity, and/or airflow. Many suchservers 104 may be configured and/or adapted to utilize at least aportion of the techniques presented herein.

1.3. Client Device Configuration

FIG. 3 presents a schematic architecture diagram 300 of a client device110 whereupon at least a portion of the techniques presented herein maybe implemented. Such a client device 110 may vary widely inconfiguration or capabilities, in order to provide a variety offunctionality to a user such as the user 112. The client device 110 maybe provided in a variety of form factors, such as a desktop or towerworkstation; an “all-in-one” device integrated with a display 308; alaptop, tablet, convertible tablet, or palmtop device; a wearable devicemountable in a headset, eyeglass, earpiece, and/or wristwatch, and/orintegrated with an article of clothing; and/or a component of a piece offurniture, such as a tabletop, and/or of another device, such as avehicle or residence. The client device 110 may serve the user in avariety of roles, such as a workstation, kiosk, media player, gamingdevice, and/or appliance.

The client device 110 may comprise one or more processors 310 thatprocess instructions. The one or more processors 310 may optionallyinclude a plurality of cores; one or more coprocessors, such as amathematics coprocessor or an integrated graphical processing unit(GPU); and/or one or more layers of local cache memory. The clientdevice 110 may comprise memory 301 storing various forms ofapplications, such as an operating system 303; one or more userapplications 302, such as document applications, media applications,file and/or data access applications, communication applications such asweb browsers and/or email clients, utilities, and/or games; and/ordrivers for various peripherals. The client device 110 may comprise avariety of peripheral components, such as a wired and/or wirelessnetwork adapter 306 connectible to a local area network and/or wide areanetwork; one or more output components, such as a display 308 coupledwith a display adapter (optionally including a graphical processing unit(GPU)), a sound adapter coupled with a speaker, and/or a printer; inputdevices for receiving input from the user, such as a keyboard 311, amouse, a microphone, a camera, and/or a touch-sensitive component of thedisplay 308; and/or environmental sensors, such as a global positioningsystem (GPS) receiver 319 that detects the location, velocity, and/oracceleration of the client device 110, a compass, accelerometer, and/orgyroscope that detects a physical orientation of the client device 110.Other components that may optionally be included with the client device110 (though not shown in the schematic diagram 300 of FIG. 3) includeone or more storage components, such as a hard disk drive, a solid-statestorage device (SSD), a flash memory device, and/or a magnetic and/oroptical disk reader; and/or a flash memory device that may store a basicinput/output system (BIOS) routine that facilitates booting the clientdevice 110 to a state of readiness; and a climate control unit thatregulates climate properties, such as temperature, humidity, andairflow.

The client device 110 may comprise a mainboard featuring one or morecommunication buses 312 that interconnect the processor 310, the memory301, and various peripherals, using a variety of bus technologies, suchas a variant of a serial or parallel AT Attachment (ATA) bus protocol;the Uniform Serial Bus (USB) protocol; and/or the Small Computer SystemInterface (SCI) bus protocol. The client device 110 may comprise adedicated and/or shared power supply 318 that supplies and/or regulatespower for other components, and/or a battery 304 that stores power foruse while the client device 110 is not connected to a power source viathe power supply 318. The client device 110 may provide power to and/orreceive power from other client devices.

In some scenarios, as a user 112 interacts with a software applicationon a client device 110 (e.g., an instant messenger and/or electronicmail application), descriptive content in the form of signals or storedphysical states within memory (e.g., an email address, instant messengeridentifier, phone number, postal address, message content, date, and/ortime) may be identified. Descriptive content may be stored, typicallyalong with contextual content. For example, the source of a phone number(e.g., a communication received from another user via an instantmessenger application) may be stored as contextual content associatedwith the phone number. Contextual content, therefore, may identifycircumstances surrounding receipt of a phone number (e.g., the date ortime that the phone number was received), and may be associated withdescriptive content. Contextual content, may, for example, be used tosubsequently search for associated descriptive content. For example, asearch for phone numbers received from specific individuals, receivedvia an instant messenger application or at a given date or time, may beinitiated. The client device 110 may include one or more servers thatmay locally serve the client device 110 and/or other client devices ofthe user 112 and/or other individuals. For example, a locally installedwebserver may provide web content in response to locally submitted webrequests. Many such client devices 110 may be configured and/or adaptedto utilize at least a portion of the techniques presented herein.

2. Presented Techniques

One or more systems and/or techniques for predicting content consumptionare provided. A user viewing a program (e.g., a television show, amovie, a sporting event, etc.) may utilize an application (e.g., asocial media application, a sports news application, a news application,etc.) during the program. There may be a correlation between eventsassociated with the program (e.g., an advertisement, a song, acatchphrase, a performance, a half time show, and/or an appearance of anactor or actress during the program) and the application that the useris utilizing. For example, users may utilize an entertainment bloggingapplication to talk about a particular character in the program, acharacter stating a popular line, or to talk about a surprise guest onthe program. In an example, users may utilize a sports news applicationduring a Sports show. A content provider of programs and/or applicationsmay desire to present users with relevant content, such as contentrelated to the programs and/or applications that the user views and/orwith which the user interacts. However, if the content provider providesmerely applications, then the content provider may lack a mechanism todetermine what programs the user is viewing. Unfortunately, many contentproviders may lack the mechanism to determine program viewership (e.g.,what programs the user is viewing) from application usage.

As provided herein, an application log of the user (comprising a user'sapplication data such as what applications the user has executed) and aviewing log of the user (comprising the user's viewing data of content,such as television programs viewed by the user) may be evaluated over atime period to construct a model. The model may comprise a correlationbetween the viewing log and the application log during the time period(e.g., the time period may comprise a duration of a first program).Second application data, regarding application usage of a second user,may be extracted. The model may be applied to the second applicationdata to identify an expected viewing action of the second user (e.g.,what program the second user is likely to watch during the time period).The second user may be provided with content related to the expectedviewing action. The content may be provided at specific times to avoidinterrupting the program (such as during a commercial break, at an endof the program, etc.), which may increase user interaction andsatisfaction with the content provider. The ability to provide userswith relevant content may decrease an amount of time the second user maymanually search for a product and/or service. Additionally, the abilityto recommend an application (e.g., such as an application that is new tothe second user) based upon the expected viewing action, may increasethe second user's engagement and interaction with the content provider,as compared to a content provider that lacks an ability to recommend anapplication based upon an expected viewing action.

Second viewing data, regarding viewing actions of the second user, maybe extracted. The model may be applied to the second viewing data toidentify an expected application usage of the second user (e.g., whatapplication the second user is likely to utilize during the timeperiod). The ability to recommend a program (e.g., such as a programthat is new to the second user) based upon the expected applicationusage, may increase the second user's engagement and interaction withthe content provider, as compared to a content provider that lacks anability to recommend an program based upon an expected applicationusage.

FIGS. 4A-4C illustrate an example of a system 400, comprising a contentconsumption component 410, for generating a model 418. In an example, auser may view a program (e.g., a television show, a movie, a sportingevent, a video, etc.) on a viewing device 402 (e.g., a television, acomputer, a tablet, etc.). The viewing device 402 may provide viewingdata 406 to the content consumption component 410. The viewing data 406may be extracted by utilizing audio fingerprinting, visual matching,logging within a video playing application, and/or closed caption data.The viewing data 406 may indicate what is being viewed on the viewingdevice 402. The content consumption component 410 may generate a viewinglog 412 from the viewing data 406. The viewing log 412 may compriseinformation about the user's viewing habits, such as when the userwatches programs, which genre of programs the user watches, how muchtime does the user watch programs, etc.

In an example, the user may utilize an application (e.g., a social mediaapplication, a sports news application, a shopping application, aweather application, a movie ticket reservation application, arestaurant review application, a home renovation application, avideogame blog application, a news application, etc.) on a client device404. The client device 404 may provide application data 408 to thecontent consumption component 410. In an example, the client device 404may comprise the content consumption component 410. The contentconsumption component 410 may generate an application log 414 from theapplication data 408. The application log 414 may comprise informationabout the user's application utilization habits, such as when the userutilizes an application, which applications the user utilizes, how muchtime does the user utilize applications, etc. The user may takeaffirmative action, such as providing opt-in consent, to allow access toand/or use of the viewing data 406 and/or the application data 408associated with accessing applications and/or programs from a contentprovider.

The content consumption component 410 may identify the user based uponthe viewing device 402 and the client device 404 having a similar useridentifier 416. The same user identifier 416 may comprise similar orshared login credentials (e.g., the user may be logged into the contentprovider account on the viewing device 402 through a social mediaaccount and the user may be logged onto the client device though anemail account having a username associated with the social mediaaccount), account information (e.g., a user's name or home address), IPaddresses, communication connections (e.g., the viewing device 402 maybe connected to the client device 404, such as a Bluetooth connectionbetween a mobile phone or smart device and a smart television), etc.

The viewing log 412 and the application log 414 may be evaluated over atime period (e.g., such as a duration of a program) to construct themodel 418. The model 418 may comprise a correlation between the viewinglog 412 and the application log 414 during the time period. For example,the model 418 may illustrate when the user, and/or multiple usersassociated with multiple viewing logs and multiple application logs,access applications relative to a timestamp in the program (e.g., a dateand time during a program). The timestamp may correspond to an event(e.g., an advertisement, a song, a catchphrase, a performance, an eventoccurring during live programming content such as a guest appearance, anevent occurring during a sitcom such as a character getting engaged, amarriage proposal during a sporting event, an appearance of an actor oractress during the program, etc.) occurring on the program. In anexample, users may be more likely to engage with an entertainment blogapplication during advertisements shown during a Funny Comedy Show,whereas the users may be more likely to engage with a home renovationapplication during a Home Renovation Show as renovation ideas arediscussed.

Because the content provider may lack a mechanism to directly determineother user's viewing habits of content, it may be advantageous toutilize the model 418 to determine/predict such information.Accordingly, FIG. 4B illustrates the content consumption component 410identifying an expected viewing action 422 of a second user. The seconduser may access applications on a second client device 424. The secondclient device 424 may provide second application data 428 to the contentconsumption component 410. The content consumption component 410 maygenerate a second application log 420 from the second application data428. The second application log 420 may comprise information about thesecond user's application utilization habits, such as when the seconduser utilizes an application, which applications the second userutilizes, for how much time does the second user utilize applications,etc. The content consumption component 410 may apply the model 418 tothe second application log 420 to generate the expected viewing action422 (e.g., a program with which the second user may be likely to viewduring the time period based upon the type of application used by thesecond user, such as a prediction that the second user may have aninterest in watching a home renovation television show based upon theuser interacting with a home renovation blog application in theevening). In an example, if the second application log 420 comprisesapplication usage during the time period (e.g., from 8:00 pm to 8:30 pmon Friday night), then the second application log 420 may be applied tothe model 418 that was derived from the viewing log 412 and theapplication log 414, of the user, generated during the time period(e.g., from 8:00 pm to 8:30 pm on Friday night).

External data 409 may be applied to the model 418. In an example, if themodel 418 indicates that the expected viewing action 422 of the seconduser during the time period is one of a first program (e.g., ObscureSport Show) or a second program (e.g., Sports World Championships), thenthe external data 409 may be utilized to identify the Sports WorldChampionships as having more viewers than the Obscure Sport Show. TheSports World Championships may be assigned a higher likelihood scorethan the Obscure Sport Show. The likelihood score may be correlated to adegree of popularity of each show. The program with the higherlikelihood score may be retained within the expected viewing action 422,while the other may be discarded. In an example, if the Sports WorldChampionships has an average of 40 million viewers during the timeperiod, and the Obscure Sport Show has an average of 40 thousand viewersduring the time period, then the likelihood score for the Sports WorldChampionships may be 1,000 times higher than the likelihood score forthe Obscure Sports Show. Content 426 related to the expected viewingaction 422 may be provided to the second client device 424. In anexample, if the second user is viewing a Comedy Show starring JimFamous, then the content 426 may comprise updates on the Comedy Show,news about Jim Famous, advertisements for the Comedy Show,advertisements of products shown on the Comedy Show, etc. Responsive toidentifying the expected viewing action 422 comprising the program,information about the program may be added to a user interest profile ofthe second user. The content 426 may be recommended to the user basedupon the user interest profile.

Because the content provider may lack a mechanism to directly determineother user's application usage, it may be advantageous to utilize themodel 418 to determine/predict such information. Accordingly, FIG. 4Cillustrates the content consumption component 410 identifying anexpected application usage 432 of the second user. The second user mayview programs on a second viewing device 434. The second viewing device434 may provide second viewing data 438 to the content consumptioncomponent 410. The content consumption component 410 may generate asecond viewing log 430 from the second viewing data 438. The secondviewing log 430 may comprise information about the second user's viewinghabits, such as when the second user watches programs, which genre ofprograms does the second user watch, how much time does the second userwatch programs, etc. The content consumption component 410 may apply themodel 418 to the second viewing log 430 to generate the expectedapplication usage 432 (e.g., what applications might the second user beutilizing and/or interested in utilizing during the program). In anexample, if the second viewing log 430 comprises viewing actions duringthe time period (e.g., 9:00 pm to 10:00 pm on Monday night), then thesecond viewing log 430 may be applied to the model 418 that was derivedfrom the viewing log 412 and the application log 414, of the user,generated during the time period (e.g., 9:00 pm to 10:00 pm on Mondaynight).

An application 436 related to the expected application usage 432 may beprovided to the second client device 424. In an example, if the seconduser is viewing a Nightly News Show that has a social network tie in(e.g., the Nightly News Show may feature social network news discussionsand viewer commentary), then a social network commentary application maybe recommended. In an example, the social network commentary applicationrecommendation may be provided to the second user based upon thetimestamp (e.g., the recommendation may be provided to the user duringan advertisement).

FIGS. 5A-5B illustrate an example system 500 for predicting contentconsumption, where model data of a user and a second user areillustrated. An application log, comprising a percentage of usersviewing a program while utilizing applications, is depicted on a y-axis.A viewing log, comprising a time (e.g., 0 minutes to 30 minutes)relative to the program, is depicted on an x-axis. A line 502 may depictthe percentage of users utilizing applications while viewing the programover a duration of the program (e.g., where the program has a durationof 30 minutes). The line 502 may depict a first peak 504, a second peak506, a third peak 508, a fourth peak 510, a fifth peak 512, and/or asixth peak 514. The peaks 504-514 may depict increases in applicationusage by users viewing the program. In an example, the second peak 506may coincide with a first advertisement (e.g., the users may focus onapplications rather than the program during the first advertisement). Inan example, a lull 516 may coincide with a climactic conclusion of theprogram, and thus the lull 516 may be a result of the conclusion drawingthe user's attention to the program and away from the applications. Thepeaks 504-514 may correspond to instances where users are not viewingthe program. Advertisers presenting advertisements during the programmay be provided with an altered advertisement rate based upon a numberof instances where users are not viewing the program.

FIG. 5B illustrates the model data for the user and the second user. Afirst spike 518, a second spike 520, a third spike 522, a fourth spike524, a fifth spike 526, and/or a sixth spike 528 may depict a durationthat the second user is utilizing applications (e.g., a width of a spikemay correspond to a duration of the second user's application usage). Inan example, the second user may be determined to be viewing the program,based upon the spikes 518-528 corresponding to the peaks 504-516. In anexample, the more closely the spikes 518-528 correspond to the peaks504-516 the higher a probability that the second user is viewing theprogram.

FIG. 6 illustrates an example of a system 600, comprising a contentconsumption component 610, for generating a model 618. In an example, auser may view a championship game 603 on a viewing device 602. Theviewing device 602 may provide viewing data 606 to the contentconsumption component 610. The content consumption component 610 maygenerate a viewing log 612 from the viewing data 606. In an example, theuser may utilize a social media application 605 on a client device 604.The client device 604 may provide application data 608 to the contentconsumption component 610. The content consumption component 610 maygenerate an application log 614 from the application data 608.

The content consumption component 610 may identify the user based uponthe viewing device 602 and the client device 604 having a similar useridentifier 616. The viewing log 612 and the application log 614 may beevaluated over a time period (e.g., such as during a half time show) toconstruct the model 618. The model 618 may comprise a correlationbetween the viewing log 612 and the application log 614 during the timeperiod.

The application log 614, comprising a percentage of users viewing aprogram while utilizing applications, may be depicted on a y-axis. Theviewing log 612, comprising a time (e.g., 0 minutes to 30 minutes)relative to the half time show, may be depicted on an x-axis. A line 620may depict the percentage of users utilizing the social mediaapplication 605 while viewing the half time show of the ChampionshipGame 603. For example, the model 618 may illustrate that the user, orthat multiple users associated with multiple viewing logs and multipleapplication logs, are utilizing the social media application 605 duringthe half time show. In an example, a relatively large percentage (e.g.,greater than 70%) of the user(s) may utilize the social mediaapplication 605 during the half time show. Responsive to the model 618indicating that the relatively large percentage of user(s) are utilizingthe social media application 605, a second user, viewing the half timeshow, may be provided with a recommendation to utilize the social mediaapplication 605.

An embodiment of predicting content consumption is illustrated by anexample method 700 of FIG. 7. At 702, the method 700 starts. At 704,viewing data, regarding viewing actions of a user on a viewing device,may be extracted. At 706, application data, regarding application usageof the user on a client device, may be extracted. At 708, a viewing logmay be generated for the user based upon the viewing data. At 710, anapplication log may be generated for the user based upon the applicationdata. At 712, the viewing log and the application log may be evaluatedover a time period to construct a model. The model may comprise acorrelation between the viewing log and the application log over thetime period. At 714, second viewing data, regarding viewing actions of asecond user, may be extracted. At 716, the model may be applied to thesecond viewing data to identity expected application usage of the seconduser (e.g., what application the second user may find relevant basedupon the second user's viewing actions). At 718, the method 700 ends.

FIG. 8 is an illustration of a scenario 800 involving an examplenontransitory memory device 802. The nontransitory memory device 802 maycomprise instructions that when executed perform at least some of theprovisions herein. The nontransitory memory device may comprise a memorysemiconductor (e.g., a semiconductor utilizing static random accessmemory (SRAM), dynamic random access memory (DRAM), and/or synchronousdynamic random access memory (SDRAM) technologies), a platter of a harddisk drive, a flash memory device, or a magnetic or optical disc (suchas a CD, DVD, or floppy disk). The example nontransitory memory device802 stores computer-readable data 804 that, when subjected to reading806 by a reader 810 of a device 808 (e.g., a read head of a hard diskdrive, or a read operation invoked on a solid-state storage device),express processor-executable instructions 812. In some embodiments, theprocessor-executable instructions, when executed on a processor 816 ofthe device 808, are configured to perform a method, such as at leastsome of the example method 700 of FIG. 7, for example. In someembodiments, the processor-executable instructions, when executed on theprocessor 816 of the device 808, are configured to implement a system,such as at least some of the example system 400 of FIGS. 4A-4C, at leastsome of the example system 500 of FIGS. 5A-5B, and/or at least some ofthe example system 600 of FIG. 6, for example.

3. Usage of Terms

As used in this application, “component,” “module,” “system”,“interface”, and/or the like are generally intended to refer to acomputer-related entity, either hardware, a combination of hardware andsoftware, software, or software in execution. For example, a componentmay be, but is not limited to being, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a program,and/or a computer. By way of illustration, both an application runningon a controller and the controller can be a component. One or morecomponents may reside within a process and/or thread of execution and acomponent may be localized on one computer and/or distributed betweentwo or more computers.

Unless specified otherwise, “first,” “second,” and/or the like are notintended to imply a temporal aspect, a spatial aspect, an ordering, etc.Rather, such terms are merely used as identifiers, names, etc. forfeatures, elements, items, etc. For example, a first object and a secondobject generally correspond to object A and object B or two different ortwo identical objects or the same object.

Moreover, “example” is used herein to mean serving as an example,instance, illustration, etc., and not necessarily as advantageous. Asused herein, “or” is intended to mean an inclusive “or” rather than anexclusive “or”. In addition, “a” and “an” as used in this applicationare generally be construed to mean “one or more” unless specifiedotherwise or clear from context to be directed to a singular form. Also,at least one of A and B and/or the like generally means A or B or both Aand B. Furthermore, to the extent that “includes”, “having”, “has”,“with”, and/or variants thereof are used in either the detaileddescription or the claims, such terms are intended to be inclusive in amanner similar to the term “comprising”.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing at least some of the claims.

Furthermore, the claimed subject matter may be implemented as a method,apparatus, or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof to control a computer to implement the disclosedsubject matter. The term “article of manufacture” as used herein isintended to encompass a computer program accessible from anycomputer-readable device, carrier, or media. Of course, manymodifications may be made to this configuration without departing fromthe scope or spirit of the claimed subject matter.

Various operations of embodiments are provided herein. In an embodiment,one or more of the operations described may constitute computer readableinstructions stored on one or more computer readable media, which ifexecuted by a computing device, will cause the computing device toperform the operations described. The order in which some or all of theoperations are described should not be construed as to imply that theseoperations are necessarily order dependent. Alternative ordering will beappreciated by one skilled in the art having the benefit of thisdescription. Further, it will be understood that not all operations arenecessarily present in each embodiment provided herein. Also, it will beunderstood that not all operations are necessary in some embodiments.

Also, although the disclosure has been shown and described with respectto one or more implementations, equivalent alterations and modificationswill occur to others skilled in the art based upon a reading andunderstanding of this specification and the annexed drawings. Thedisclosure includes all such modifications and alterations and islimited only by the scope of the following claims. In particular regardto the various functions performed by the above described components(e.g., elements, resources, etc.), the terms used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (e.g., that is functionally equivalent), even though notstructurally equivalent to the disclosed structure. In addition, while aparticular feature of the disclosure may have been disclosed withrespect to only one of several implementations, such feature may becombined with one or more other features of the other implementations asmay be desired and advantageous for any given or particular application.

What is claimed is:
 1. A system for predicting content consumption,comprising: a content consumption component configured to: extractviewing data regarding viewing actions of a user on a viewing device;extract application data regarding application usage of the user on aclient device; generate a viewing log, for the user, based upon theviewing data; generate an application log, for the user, based upon theapplication data; evaluate the viewing log and the application log overa time period to construct a model comprising a correlation between theviewing log and the application log during the time period; extractsecond application data regarding application usage of a second user;and apply the model to the second application data to identify anexpected viewing action of the second user.
 2. The system of claim 1,the content consumption component configured to: provide the second userwith content related to the expected viewing action.
 3. The system ofclaim 1, the content consumption component configured to: identify theuser based upon the viewing device and the client device sharing anidentifier.
 4. The system of claim 1, the content consumption componentconfigured to: identify a program specified in the viewing log; identifya timestamp in the program; identify an application that the userutilizes during a time specified by the timestamp; and responsive to theexpected viewing action indicating the second user is viewing theprogram, provide the second user with an application recommendation,comprising a recommendation of the application, based upon thetimestamp.
 5. The system of claim 4, the timestamp corresponding to anevent comprising at least one of an advertisement, a song, acatchphrase, a performance, or an appearance of an actor or actressduring the program.
 6. The system of claim 1, the content consumptioncomponent configured to: extract the viewing data by utilizing at leastone of audio fingerprinting, watermarking, visual matching, loggingwithin a video playing application, or closed caption data.
 7. Thesystem of claim 1, the content consumption component configured to:identify a time during a program when a probability indicates the seconduser is not viewing the program.
 8. The system of claim 1, the contentconsumption component configured to: apply external data about a programand a second program available to the viewing device during the timeperiod; and responsive to the external data indicating a greater numberof users are viewing the program as compared to the second program,construct the model to assign a higher likelihood score to the programrelative to the second program.
 9. The system of claim 1, the contentconsumption component configured to: responsive to identifying theexpected viewing action comprising an identification of a program, addinformation about the program to a user interest profile of the seconduser.
 10. A method for predicting content consumption, comprising:extracting viewing data regarding viewing actions of a user on a viewingdevice; extracting application data regarding application usage of theuser on a client device; generating a viewing log, for the user, basedupon the viewing data; generating an application log, for the user,based upon the application data; evaluating the viewing log and theapplication log over a time period to construct a model comprising acorrelation between the viewing log and the application log during thetime period; extracting second viewing data regarding viewing actions ofa second user; and apply the model to the second viewing data toidentify an expected application usage of the second user.
 11. Themethod of claim 10, comprising: providing the second user with anapplication recommendation related to the expected application usage.12. The method of claim 10, comprising: identifying the user based uponthe viewing device and the client device sharing at least one of logincredentials, account information, an IP address, or a communicationconnection.
 13. The method of claim 10, comprising: identifying aprogram specified in the viewing log; identifying a timestamp in theprogram; identifying an application that the user utilizes during a timespecified by the timestamp; and responsive to an occurrence of the time,recommending the application to the second user.
 14. The method of claim13, the timestamp corresponding to an event comprising at least one ofan advertisement, a song, a catchphrase, a performance, or an appearanceof an actor or actress during the program.
 15. The method of claim 10,comprising: extracting the viewing data by utilizing at least one ofaudio fingerprinting, watermarking, visual matching, logging within avideo playing application, or closed caption data.
 16. The method ofclaim 10, comprising: identifying a time during a program when aprobability indicates the second user is not viewing the program becausethe second user is utilizing an application.
 17. The method of claim 10,comprising: responsive to identifying the expected application usagecomprising an identification of an application, adding information aboutthe application to a user interest profile of the second user.
 18. Asystem for predicting content consumption, comprising: a contentconsumption component configured to: extract viewing data regardingviewing actions of a user on a viewing device; extract application dataregarding application usage of the user on a client device; generate aviewing log, for the user, based upon the viewing data; generate anapplication log, for the user, based upon the application data; evaluatethe viewing log and the application log over a time period to constructa model comprising a correlation between the viewing log and theapplication log during the time period; extract second application dataregarding application usage of a second user; apply the model to thesecond application data to identify an expected viewing action of thesecond user; and provide the second user with content related to theexpected viewing action.
 19. The system of claim 18, the contentconsumption component configured to: identify the user based upon theviewing device and the client device sharing an identifier, theidentifier comprising at least one of login credentials, accountinformation, an IP address, or a communication connection.
 20. Thesystem of claim 18, the content consumption component configured to:identify an application that the user utilizes during a time specifiedby a timestamp in a program specified in the viewing log; and responsiveto identifying viewing the program as the expected viewing action,provide the second user with an application recommendation comprisingrecommending the application based upon the timestamp.